In many virtual storage computing systems real storage is organized in a way that allows the storage to be reconfigured dynamically during operation of the computing system. This reconfiguration typically consists of removing some part of the real storage from accessibility (taking it off-line), or adding accessibility of real storage (bringing it on-line) for the computing system's use. To facilitate this reconfigurability, the real storage is typically divided into configurable parts. For example, in IBM S/390 computing systems, real storage is divided into parts called storage elements (SEs), which are each further divided into one or more storage subincrements (SIs). Each storage subincrement is divided into one or more page frames, with all storage subincrements having the same number of page frames. Each page frame in a storage subincrement has a corresponding page frame at the exact same position (relative address from the start of the storage subincrement) in every other storage subincrement. Each page frame can contain one page of data (called a "page"). In the IBM S/390 virtual storage implementation each page is 4096 bytes (4K bytes) and each subincrement contains a minimum 256 pages (1 megabyte) of data. It is common in virtual storage computing systems to have the storage divided into pageable entities such as those described, in order to allow the operating system's paging subsystem and the computer system's dynamic address translation facilities to operate efficiently. For many reasons, (such as when storage is used for input/output buffers) some pages of data must be non-pageable (i. e., "fixed" pages). Page frames which may contain these fixed pages are identified as "preferred" page frames. These preferred page frames are the only page frames which can contain pages of data that are not to be paged out to an auxiliary storage device (and replaced with other pages of data) during operation of the computing system. Conversely, the page frames that may only contain pageable pages are called "non-preferred" page frames. A storage subincrement which contains at least one preferred page frame (and therefore can contain fixed pages) is called a preferred subincrement. (In the preferred embodiment all page frames in a preferred subincrement are preferred page frames. Other embodiments are possible in which a preferred subincrement could contain both preferred and non-preferred page frames). A storage subincrement which cannot contain any preferred page frames (and therefore cannot contain fixed pages) is called a non-preferred subincrement. Typically, if storage containing a preferred subincrement is to be taken off-line, the data contained in the preferred subincrement must be moved to a non-preferred subincrement which is remaining on-line before the real storage can be taken off-line (this is because the fixed pages in the preferred subincrement, by definition, must remain in real storage and not be paged out, while any pages in the preferred subincrement that are not fixed can be paged out). If the storage to be taken off-line contains only non-preferred storage subincrements, there is no need to move those pages to another area of real storage since they can be paged out (moved to an auxiliary storage device).
Virtual storage computing systems which support dynamic storage reconfiguration (changing the storage configuration during operation of the computing system) have the capability to do this reassignment (e.g. the storage reconfiguration capability of IBM's S/390 computing system). This capability requires the interaction and cooperation of an operating system and the hardware controlling the real storage. Commands and information describing the actions and responses required are communicated between the operating system and the hardware controlling the real storage. These capabilities have been well known in the art for some time. For example, the IBM Technical Disclosure Bulletin, Vol. 26, No. 7A, December 1983, pp 3331-3332, (RECONFIGURATION OF STORAGE ELEMENTS TO IMPROVE PERFORMANCE), describes capabilities such as these, among an operating system (MVS) and a service processor (Maintenance and Support Service Facility--MSSF) of the 3081 a member of the IBM S/370 computing system family. It describes the MVS operating system cooperating with the MSSF by communicating information about real storage address assignments, and then signalling for a reassign of the real storage addresses and a copy of the data to occur. In the art of the IBM S/390 computing system these capabilities are achieved by communication between the MVS/ESA operating system and the Service Call Logical Processor (SCLP). The Copy and Reassign Storage command of the SCLP achieves the actual reassignment and copy of data.
Uncorrectable errors within real storage can be the reason for a storage reconfiguration and can have an adverse effect on the storage reconfiguration. A "bad" page frame is one that contains uncorrectable storage errors. All page frames without uncorrectable storage errors (error free) are "good" page frames. Moving data from a good page frame into a bad page frame during reconfiguration causes the valid data contents of the good page frame to be destroyed. To avoid this destruction of page frame contents, the data in non-preferred page frames can be paged out to auxiliary storage if the corresponding page frame to which they would be copied is bad. Since fixed data in preferred page frames cannot be paged out, all preferred page frames containing fixed data in the storage subincrement(s) to be copied, must have good (without errors) corresponding page frames in the storage subincrement target of the copy. In order for the reconfiguration off-line to be successfully completed, there must exist non-preferred subincrements to which the preferred subincrements can be reassigned (copied). Additionally, since the aforementioned Copy and Reassign Storage command copies page frames to corresponding frame positions, systems using this or functionally similar mechanisms for storage reconfiguration require the non-preferred subincrements to have good page frames in corresponding positions to the page frames containing fixed data in the preferred subincrements to be copied. Otherwise the reconfiguration off-line of the storage cannot proceed. Since the ability to undergo storage reconfiguration during the operation of the computing system is dependent on the availability of non-preferred subincrements (as "targets"), some computing systems provide facilities to enhance the likelihood of successful storage reconfiguration. For example, IBM's MVS/ESA operating system provides the capability for the installation to specify a ratio of preferred to non-preferred storage to be maintained. This is achieved through use of the RSU parameter of the IEASYSXX member of the SYS1.PARMLIB data set, or by the system operator in response to the "SPECIFY SYSTEM PARAMETERS" console message. Setting this ratio can provide a balance of preferred to non-preferred storage which will enhance the chances of successful storage reconfiguration. (Additionally, some operating systems, for example IBM's MVS/ESA operating system, provide the capability to dynamically change storage from non-preferred to preferred, which is described subsequently). Failure to successfully complete a real storage reconfiguration can have severe negative impacts on the availability and operation of the computing system. For example, if the dynamic storage reconfiguration is needed to change the execution of a multiprocessor to partitioned mode from single image mode, without adversely affecting the operating system currently executing, and cannot be completed, all work in the system must be quiesced and the operating system stopped, so that the storage reconfiguration can be done manually. Additionally, a system wait state may occur if storage containing uncorrectable errors cannot be taken off-line.